#pragma once

#include <vector>
#include <ctime>
#include <cstdint>

namespace dw {
    std::vector<std::vector<float>> GenerateWhiteNoise(uint32_t row, uint32_t col, uint32_t seed = time(0));
    std::vector<std::vector<float>> GenerateSmoothNoise(const std::vector<std::vector<float>>& baseNoise, int octave);
    std::vector<std::vector<float>> GeneratePerlinNoise(const std::vector<std::vector<float>>& baseNoise, int octaveCount);
}